﻿namespace Scrum.Net.Interfaces
{
    public interface ISprintAvailability
    {
        /// <summary>
        /// User
        /// </summary>
        IUser User { get; }
        
        /// <summary>
        /// Total days
        /// </summary>
        int TotalDays { get; }

        /// <summary>
        /// Total available hours
        /// </summary>
        float TotalHours { get; }

        /// <summary>
        /// Days off
        /// </summary>
        int DaysOff { get; }

        /// <summary>
        /// Actual days
        /// </summary>
        int ActualDays { get; }

        /// <summary>
        /// Planned work in backlog (hours)
        /// </summary>
        float PlannedHours { get; }

        /// <summary>
        /// Rest available work (hours)
        /// </summary>
        float RestAvailableHours { get; }

        void CalculatingAvailabilty();
    }
}